void pointer(void*):在 C/C++ 中指“无类型指针”,可以保存任意数据类型对象的地址。由于它不指向具体类型,不能直接解引用(dereference),通常需要先转换(cast)成正确的指针类型再使用。(在 C++ 中对类型安全要求更严格,常用 void* 做底层接口或与 C 交互。)
/vɔɪd ˈpɔɪntər/
In C, a void pointer can store the address of any object type.
在 C 语言中,void 指针可以存储任何对象类型的地址。
The API returns a void pointer that you must cast to the correct type before dereferencing, otherwise the program may have undefined behavior.
该 API 返回一个 void 指针,你必须在解引用之前把它转换成正确的类型,否则程序可能出现未定义行为。
void 原意为“空的、无效的”,来源于法语并可追溯至拉丁语相关词根;在 C 语言里用来表示“无具体类型”(如 void 返回类型、void*)。pointer 来自 point(点、指向)加上表示“……的人/物”的后缀,合起来表示“指向某处地址的变量”。“void pointer”这一术语随 C 语言的类型系统与通用内存接口(如 malloc 返回 void*)而固定下来。
void* 的语义与转换规则。 void* 在 C++ 中的限制及与类型安全相关的设计取舍。 void*、内存分配与类型转换。 void* 与类型转换相关的安全与最佳实践。